Composite infrastructures, such as data base systems used with computer systems, oftentimes have an information architecture environment which may have a number of interconnected complex object nodes. Each object node may have independent tree-like structures comprising hierarchies of interconnected complex subordinate object nodes of information wherein each subordinate object node may further comprise independent sub-tree structures of interconnected sub-nodes of information.
Computer systems using data base infrastructures may run processes wherein the processes concurrently access the infrastructures. In particular, a computer system may run a number of processes each of which requires access to complex infrastructures comprising data base architectures. A process may require access to one, several or all of the infrastructure nodes many times during the running of the process. In order to insure continuity of operation, a process may apply locks against a node that will operate against the node and impliedly against all the lower hierarchical subordinate and sub-nodes in the tree structure of the node to allow only the process holding the lock to write into and read information from the node. In addition, each ancestor node of the locked node is assigned an intermediate type of lock to ensure a consistency of data. During the time that a process holds the lock, other processes concurrently running on computers served by the complex infrastructures may be prevented from writing into and reading information from the locked node and sub-nodes located in the tree structure of the locked node.
A problem arises during the concurrent operation of multiple processes in that when one process locks a node other processes that require access to the locked node or children nodes located in tree structures of the locked node may be delayed in obtaining access to the data base infrastructure until the node lock is removed. Another problem arises in that concurrently running processes may be required to selectively apply locks or intermediate type of locks to child nodes located in different tree structures containing the previously locked node and are required to wait until the lock can be removed from the node. Yet another problem may arise in that one process requiring that a node be locked during the running of the process may have to wait during running of the process until a previously applied lock be removed from the node.